home *** CD-ROM | disk | FTP | other *** search
/ Hardcore Visual Basic 5.0 (2nd Edition) / Hardcore Visual Basic 5.0 - Second Edition (1997)(Microsoft Press).iso / Code / tImage.FRM < prev    next >
Text File  |  1997-06-14  |  23KB  |  732 lines

  1. VERSION 5.00
  2. Object = "{6B7E6392-850A-101B-AFC0-4210102A8DA7}#1.1#0"; "COMCTL32.OCX"
  3. Begin VB.Form FTestImageList 
  4.    Caption         =   "Test ImageList"
  5.    ClientHeight    =   5850
  6.    ClientLeft      =   1410
  7.    ClientTop       =   2145
  8.    ClientWidth     =   7725
  9.    Icon            =   "tImage.frx":0000
  10.    LinkTopic       =   "Form1"
  11.    PaletteMode     =   1  'UseZOrder
  12.    ScaleHeight     =   5850
  13.    ScaleWidth      =   7725
  14.    Begin VB.CheckBox chkOverlay 
  15.       Caption         =   "Fix Overlay"
  16.       Height          =   330
  17.       Left            =   2625
  18.       TabIndex        =   37
  19.       Top             =   4935
  20.       Width           =   1275
  21.    End
  22.    Begin VB.CheckBox chkPicture 
  23.       Caption         =   "Picture"
  24.       Height          =   330
  25.       Left            =   2625
  26.       TabIndex        =   32
  27.       Top             =   4620
  28.       Value           =   1  'Checked
  29.       Width           =   1275
  30.    End
  31.    Begin VB.Frame frame 
  32.       Caption         =   "Flags"
  33.       Height          =   1260
  34.       Left            =   4200
  35.       TabIndex        =   27
  36.       Top             =   4440
  37.       Width           =   3360
  38.       Begin VB.CheckBox chk 
  39.          Caption         =   "Mask"
  40.          Height          =   435
  41.          Index           =   0
  42.          Left            =   255
  43.          TabIndex        =   31
  44.          Top             =   255
  45.          Width           =   1275
  46.       End
  47.       Begin VB.CheckBox chk 
  48.          Caption         =   "Focus"
  49.          Height          =   435
  50.          Index           =   3
  51.          Left            =   1905
  52.          TabIndex        =   30
  53.          Top             =   660
  54.          Width           =   1275
  55.       End
  56.       Begin VB.CheckBox chk 
  57.          Caption         =   "Selected"
  58.          Height          =   435
  59.          Index           =   2
  60.          Left            =   1905
  61.          TabIndex        =   29
  62.          Top             =   255
  63.          Width           =   1275
  64.       End
  65.       Begin VB.CheckBox chk 
  66.          Caption         =   "Transparent"
  67.          Height          =   435
  68.          Index           =   1
  69.          Left            =   255
  70.          TabIndex        =   28
  71.          Top             =   660
  72.          Width           =   1275
  73.       End
  74.    End
  75.    Begin VB.PictureBox pb 
  76.       AutoRedraw      =   -1  'True
  77.       AutoSize        =   -1  'True
  78.       Height          =   4020
  79.       Left            =   120
  80.       ScaleHeight     =   3960
  81.       ScaleWidth      =   3945
  82.       TabIndex        =   0
  83.       Top             =   450
  84.       Width           =   4008
  85.       Begin VB.Label lblBmpDraw 
  86.          BackStyle       =   0  'Transparent
  87.          ForeColor       =   &H00FFFFFF&
  88.          Height          =   255
  89.          Left            =   2124
  90.          TabIndex        =   26
  91.          Top             =   2670
  92.          Width           =   1215
  93.       End
  94.       Begin VB.Label lblIconDraw 
  95.          BackStyle       =   0  'Transparent
  96.          ForeColor       =   &H00FFFFFF&
  97.          Height          =   252
  98.          Left            =   828
  99.          TabIndex        =   25
  100.          Top             =   2670
  101.          Width           =   1212
  102.       End
  103.       Begin VB.Label lbl 
  104.          BackStyle       =   0  'Transparent
  105.          Caption         =   "Draw"
  106.          ForeColor       =   &H00FFFFFF&
  107.          Height          =   252
  108.          Index           =   12
  109.          Left            =   2160
  110.          TabIndex        =   24
  111.          Top             =   2376
  112.          Width           =   1212
  113.       End
  114.       Begin VB.Label lbl 
  115.          BackStyle       =   0  'Transparent
  116.          Caption         =   "Picture"
  117.          ForeColor       =   &H00FFFFFF&
  118.          Height          =   252
  119.          Index           =   11
  120.          Left            =   864
  121.          TabIndex        =   23
  122.          Top             =   852
  123.          Width           =   1212
  124.       End
  125.       Begin VB.Label lbl 
  126.          BackStyle       =   0  'Transparent
  127.          Caption         =   "Overlay"
  128.          ForeColor       =   &H00FFFFFF&
  129.          Height          =   252
  130.          Index           =   10
  131.          Left            =   816
  132.          TabIndex        =   22
  133.          Top             =   1608
  134.          Width           =   1212
  135.       End
  136.       Begin VB.Label lbl 
  137.          BackStyle       =   0  'Transparent
  138.          Caption         =   "Draw"
  139.          ForeColor       =   &H00FFFFFF&
  140.          Height          =   252
  141.          Index           =   9
  142.          Left            =   828
  143.          TabIndex        =   21
  144.          Top             =   2376
  145.          Width           =   1212
  146.       End
  147.       Begin VB.Label lbl 
  148.          BackStyle       =   0  'Transparent
  149.          Caption         =   "ExtractIcon"
  150.          ForeColor       =   &H00FFFFFF&
  151.          Height          =   252
  152.          Index           =   8
  153.          Left            =   2136
  154.          TabIndex        =   20
  155.          Top             =   48
  156.          Width           =   1212
  157.       End
  158.       Begin VB.Label lbl 
  159.          BackStyle       =   0  'Transparent
  160.          Caption         =   "Picture"
  161.          ForeColor       =   &H00FFFFFF&
  162.          Height          =   252
  163.          Index           =   7
  164.          Left            =   2124
  165.          TabIndex        =   19
  166.          Top             =   840
  167.          Width           =   1212
  168.       End
  169.       Begin VB.Label lbl 
  170.          BackStyle       =   0  'Transparent
  171.          Caption         =   "Overlay"
  172.          ForeColor       =   &H00FFFFFF&
  173.          Height          =   252
  174.          Index           =   6
  175.          Left            =   2100
  176.          TabIndex        =   18
  177.          Top             =   1620
  178.          Width           =   1212
  179.       End
  180.       Begin VB.Label lbl 
  181.          BackStyle       =   0  'Transparent
  182.          Caption         =   "ExtractIcon"
  183.          ForeColor       =   &H00FFFFFF&
  184.          Height          =   252
  185.          Index           =   5
  186.          Left            =   840
  187.          TabIndex        =   17
  188.          Top             =   48
  189.          Width           =   1212
  190.       End
  191.       Begin VB.Image imgBmpOverlay 
  192.          Height          =   492
  193.          Left            =   2124
  194.          Top             =   1836
  195.          Width           =   516
  196.       End
  197.       Begin VB.Image imgIconOverlay 
  198.          Height          =   492
  199.          Left            =   828
  200.          Top             =   1836
  201.          Width           =   516
  202.       End
  203.       Begin VB.Image imgIconIcon 
  204.          Height          =   528
  205.          Left            =   828
  206.          Top             =   300
  207.          Width           =   600
  208.       End
  209.       Begin VB.Image imgIconPic 
  210.          Height          =   492
  211.          Left            =   828
  212.          Top             =   1080
  213.          Width           =   576
  214.       End
  215.       Begin VB.Image imgBmpIcon 
  216.          Height          =   492
  217.          Left            =   2136
  218.          Top             =   300
  219.          Width           =   576
  220.       End
  221.       Begin VB.Image imgBmpPic 
  222.          Height          =   492
  223.          Left            =   2124
  224.          Top             =   1080
  225.          Width           =   516
  226.       End
  227.    End
  228.    Begin VB.Label lbl 
  229.       Caption         =   "Back Color"
  230.       Height          =   330
  231.       Index           =   13
  232.       Left            =   6510
  233.       TabIndex        =   36
  234.       Top             =   3675
  235.       Width           =   855
  236.    End
  237.    Begin VB.Label lbl 
  238.       Caption         =   "Back Color"
  239.       Height          =   330
  240.       Index           =   3
  241.       Left            =   4515
  242.       TabIndex        =   35
  243.       Top             =   3675
  244.       Width           =   855
  245.    End
  246.    Begin VB.Label lblBmpsBack 
  247.       BorderStyle     =   1  'Fixed Single
  248.       Height          =   225
  249.       Left            =   6195
  250.       TabIndex        =   34
  251.       Top             =   3675
  252.       Width           =   225
  253.    End
  254.    Begin VB.Label lblIconsBack 
  255.       BorderStyle     =   1  'Fixed Single
  256.       Height          =   225
  257.       Left            =   4200
  258.       TabIndex        =   33
  259.       Top             =   3675
  260.       Width           =   225
  261.    End
  262.    Begin VB.Image imgBall 
  263.       Height          =   840
  264.       Left            =   1455
  265.       Picture         =   "tImage.frx":0CFA
  266.       Stretch         =   -1  'True
  267.       Top             =   4620
  268.       Visible         =   0   'False
  269.       Width           =   870
  270.    End
  271.    Begin ComctlLib.ImageList imlstBmps 
  272.       Left            =   930
  273.       Top             =   4620
  274.       _ExtentX        =   1005
  275.       _ExtentY        =   1005
  276.       BackColor       =   12632256
  277.       ImageWidth      =   16
  278.       ImageHeight     =   16
  279.       _Version        =   327680
  280.       BeginProperty Images {0713E8C2-850A-101B-AFC0-4210102A8DA7} 
  281.          NumListImages   =   5
  282.          BeginProperty ListImage1 {0713E8C3-850A-101B-AFC0-4210102A8DA7} 
  283.             Picture         =   "tImage.frx":8D7C
  284.             Key             =   "Camera"
  285.          EndProperty
  286.          BeginProperty ListImage2 {0713E8C3-850A-101B-AFC0-4210102A8DA7} 
  287.             Picture         =   "tImage.frx":8E8E
  288.             Key             =   "Spelling"
  289.          EndProperty
  290.          BeginProperty ListImage3 {0713E8C3-850A-101B-AFC0-4210102A8DA7} 
  291.             Picture         =   "tImage.frx":8FA0
  292.             Key             =   "Network"
  293.          EndProperty
  294.          BeginProperty ListImage4 {0713E8C3-850A-101B-AFC0-4210102A8DA7} 
  295.             Picture         =   "tImage.frx":90B2
  296.             Key             =   "Save"
  297.          EndProperty
  298.          BeginProperty ListImage5 {0713E8C3-850A-101B-AFC0-4210102A8DA7} 
  299.             Picture         =   "tImage.frx":91C4
  300.             Key             =   "Help"
  301.          EndProperty
  302.       EndProperty
  303.    End
  304.    Begin VB.Label lblIconsMask 
  305.       BorderStyle     =   1  'Fixed Single
  306.       Height          =   225
  307.       Left            =   4200
  308.       TabIndex        =   16
  309.       Top             =   4095
  310.       Width           =   225
  311.    End
  312.    Begin VB.Label lblBmpsMask 
  313.       BorderStyle     =   1  'Fixed Single
  314.       Height          =   225
  315.       Left            =   6195
  316.       TabIndex        =   15
  317.       Top             =   4095
  318.       Width           =   225
  319.    End
  320.    Begin VB.Label lbl 
  321.       Caption         =   "Mask Color"
  322.       Height          =   330
  323.       Index           =   4
  324.       Left            =   4515
  325.       TabIndex        =   14
  326.       Top             =   4095
  327.       Width           =   855
  328.    End
  329.    Begin VB.Label lbl 
  330.       Caption         =   "Mask Color"
  331.       Height          =   330
  332.       Index           =   2
  333.       Left            =   6510
  334.       TabIndex        =   13
  335.       Top             =   4095
  336.       Width           =   855
  337.    End
  338.    Begin VB.Label lbl 
  339.       Caption         =   "Bitmaps"
  340.       Height          =   315
  341.       Index           =   1
  342.       Left            =   6180
  343.       TabIndex        =   12
  344.       Top             =   30
  345.       Width           =   855
  346.    End
  347.    Begin VB.Label lbl 
  348.       Caption         =   "Icons"
  349.       Height          =   315
  350.       Index           =   0
  351.       Left            =   4215
  352.       TabIndex        =   11
  353.       Top             =   30
  354.       Width           =   855
  355.    End
  356.    Begin VB.Label lblBmps 
  357.       Height          =   330
  358.       Index           =   5
  359.       Left            =   6615
  360.       TabIndex        =   10
  361.       Top             =   2940
  362.       Width           =   855
  363.    End
  364.    Begin VB.Label lblBmps 
  365.       Height          =   330
  366.       Index           =   4
  367.       Left            =   6615
  368.       TabIndex        =   9
  369.       Top             =   2310
  370.       Width           =   855
  371.    End
  372.    Begin VB.Label lblBmps 
  373.       Height          =   330
  374.       Index           =   3
  375.       Left            =   6615
  376.       TabIndex        =   8
  377.       Top             =   1680
  378.       Width           =   855
  379.    End
  380.    Begin VB.Label lblBmps 
  381.       Height          =   330
  382.       Index           =   2
  383.       Left            =   6615
  384.       TabIndex        =   7
  385.       Top             =   1050
  386.       Width           =   855
  387.    End
  388.    Begin VB.Label lblIcons 
  389.       Height          =   330
  390.       Index           =   5
  391.       Left            =   4935
  392.       TabIndex        =   6
  393.       Top             =   2970
  394.       Width           =   855
  395.    End
  396.    Begin VB.Label lblIcons 
  397.       Height          =   330
  398.       Index           =   4
  399.       Left            =   4935
  400.       TabIndex        =   5
  401.       Top             =   2340
  402.       Width           =   855
  403.    End
  404.    Begin VB.Label lblIcons 
  405.       Height          =   330
  406.       Index           =   3
  407.       Left            =   4935
  408.       TabIndex        =   4
  409.       Top             =   1710
  410.       Width           =   855
  411.    End
  412.    Begin VB.Label lblIcons 
  413.       Height          =   330
  414.       Index           =   2
  415.       Left            =   4935
  416.       TabIndex        =   3
  417.       Top             =   1080
  418.       Width           =   855
  419.    End
  420.    Begin VB.Label lblBmps 
  421.       Height          =   330
  422.       Index           =   1
  423.       Left            =   6615
  424.       TabIndex        =   2
  425.       Top             =   420
  426.       Width           =   855
  427.    End
  428.    Begin VB.Label lblIcons 
  429.       Height          =   330
  430.       Index           =   1
  431.       Left            =   4935
  432.       TabIndex        =   1
  433.       Top             =   450
  434.       Width           =   855
  435.    End
  436.    Begin VB.Image imgBmps 
  437.       Height          =   330
  438.       Index           =   5
  439.       Left            =   6195
  440.       Top             =   2940
  441.       Width           =   330
  442.    End
  443.    Begin VB.Image imgBmps 
  444.       Height          =   330
  445.       Index           =   4
  446.       Left            =   6195
  447.       Top             =   2310
  448.       Width           =   330
  449.    End
  450.    Begin VB.Image imgBmps 
  451.       Height          =   330
  452.       Index           =   3
  453.       Left            =   6195
  454.       Top             =   1680
  455.       Width           =   330
  456.    End
  457.    Begin VB.Image imgBmps 
  458.       Height          =   330
  459.       Index           =   2
  460.       Left            =   6195
  461.       Top             =   1050
  462.       Width           =   330
  463.    End
  464.    Begin VB.Image imgBmps 
  465.       BorderStyle     =   1  'Fixed Single
  466.       Height          =   330
  467.       Index           =   1
  468.       Left            =   6195
  469.       Top             =   420
  470.       Width           =   330
  471.    End
  472.    Begin VB.Image imgIcons 
  473.       Height          =   540
  474.       Index           =   5
  475.       Left            =   4200
  476.       Top             =   2955
  477.       Width           =   645
  478.    End
  479.    Begin VB.Image imgIcons 
  480.       Height          =   540
  481.       Index           =   4
  482.       Left            =   4200
  483.       Top             =   2340
  484.       Width           =   645
  485.    End
  486.    Begin VB.Image imgIcons 
  487.       Height          =   540
  488.       Index           =   3
  489.       Left            =   4200
  490.       Top             =   1710
  491.       Width           =   645
  492.    End
  493.    Begin VB.Image imgIcons 
  494.       Height          =   540
  495.       Index           =   2
  496.       Left            =   4200
  497.       Top             =   1080
  498.       Width           =   645
  499.    End
  500.    Begin VB.Image imgIcons 
  501.       BorderStyle     =   1  'Fixed Single
  502.       Height          =   540
  503.       Index           =   1
  504.       Left            =   4200
  505.       Top             =   450
  506.       Width           =   645
  507.    End
  508.    Begin ComctlLib.ImageList imlstIcons 
  509.       Left            =   300
  510.       Top             =   4635
  511.       _ExtentX        =   1005
  512.       _ExtentY        =   1005
  513.       BackColor       =   -2147483633
  514.       ImageWidth      =   32
  515.       ImageHeight     =   32
  516.       _Version        =   327680
  517.       BeginProperty Images {0713E8C2-850A-101B-AFC0-4210102A8DA7} 
  518.          NumListImages   =   5
  519.          BeginProperty ListImage1 {0713E8C3-850A-101B-AFC0-4210102A8DA7} 
  520.             Picture         =   "tImage.frx":92D6
  521.             Key             =   "Music"
  522.          EndProperty
  523.          BeginProperty ListImage2 {0713E8C3-850A-101B-AFC0-4210102A8DA7} 
  524.             Picture         =   "tImage.frx":95F0
  525.             Key             =   "Globe"
  526.          EndProperty
  527.          BeginProperty ListImage3 {0713E8C3-850A-101B-AFC0-4210102A8DA7} 
  528.             Picture         =   "tImage.frx":990A
  529.             Key             =   "Recycle"
  530.          EndProperty
  531.          BeginProperty ListImage4 {0713E8C3-850A-101B-AFC0-4210102A8DA7} 
  532.             Picture         =   "tImage.frx":9C24
  533.             Key             =   "Network"
  534.          EndProperty
  535.          BeginProperty ListImage5 {0713E8C3-850A-101B-AFC0-4210102A8DA7} 
  536.             Picture         =   "tImage.frx":9F3E
  537.             Key             =   "Desktop"
  538.          EndProperty
  539.       EndProperty
  540.    End
  541. End
  542. Attribute VB_Name = "FTestImageList"
  543. Attribute VB_GlobalNameSpace = False
  544. Attribute VB_Creatable = False
  545. Attribute VB_PredeclaredId = True
  546. Attribute VB_Exposed = False
  547. Option Explicit
  548.  
  549. Private iIcons As Integer
  550. Private iBmps As Integer
  551. Private iIconsLast As Integer
  552. Private iBmpsLast As Integer
  553. Private afDisplay As Long
  554.  
  555. Private Sub chkOverlay_Click()
  556.     DrawIcons
  557. End Sub
  558.  
  559. Private Sub Form_Load()
  560.     Dim v As Variant
  561.     For Each v In imlstIcons.ListImages
  562.         imgIcons(v.Index).Picture = v.Picture
  563.         lblIcons(v.Index).Caption = v.Key
  564.     Next
  565.     iIcons = 1
  566.     iIconsLast = 5
  567.     imlstIcons.BackColor = pb.BackColor
  568.     imlstIcons.MaskColor = pb.BackColor
  569.     lblIconsMask.BackColor = imlstIcons.MaskColor
  570.     
  571.     For Each v In imlstBmps.ListImages
  572.         imgBmps(v.Index).Picture = v.Picture
  573.         lblBmps(v.Index).Caption = v.Key
  574.     Next
  575.     iBmps = 1
  576.     iBmpsLast = 5
  577.     imlstBmps.BackColor = pb.BackColor
  578.     imlstBmps.MaskColor = pb.BackColor
  579.     lblBmpsMask.BackColor = imlstBmps.MaskColor
  580.     
  581.     Show
  582.     chkPicture_Click
  583.     DrawIcons
  584.     DrawBmps
  585. End Sub
  586.  
  587. Private Sub imgIcons_Click(Index As Integer)
  588.     imgIcons(iIcons).BorderStyle = vbTransparent
  589.     iIconsLast = iIcons
  590.     iIcons = Index
  591.     imgIcons(iIcons).BorderStyle = vbBSSolid
  592.     DrawIcons
  593. End Sub
  594.  
  595. Private Sub imgBmps_Click(Index As Integer)
  596.     imgBmps(iBmps).BorderStyle = vbTransparent
  597.     iBmpsLast = iBmps
  598.     iBmps = Index
  599.     imgBmps(iBmps).BorderStyle = vbBSSolid
  600.     DrawBmps
  601. End Sub
  602.  
  603. Private Sub lblIconsMask_MouseUp(Button As Integer, Shift As Integer, _
  604.                                  X As Single, Y As Single)
  605.     Dim getclr As New CColorPicker
  606.     getclr.Color = lblIconsMask.BackColor
  607.     getclr.Load Left + lblIconsMask.Left + X, Top + lblIconsMask.Top + Y
  608.     imlstIcons.BackColor = getclr.Color
  609.     lblIconsMask.BackColor = getclr.Color
  610.     imgIcons_Click iIcons
  611. End Sub
  612.  
  613. Private Sub lblBmpsMask_MouseUp(Button As Integer, Shift As Integer, _
  614.                                 X As Single, Y As Single)
  615.     Dim getclr As New CColorPicker, clr As Long
  616.     clr = imlstIcons.MaskColor
  617.     getclr.Color = clr
  618.     getclr.Load Left + lblBmpsMask.Left + X, Top + lblBmpsMask.Top + Y
  619.     clr = getclr.Color
  620.     lblBmpsMask.BackColor = clr
  621.     imlstBmps.MaskColor = clr
  622.     imgBmps_Click iBmps
  623. End Sub
  624.  
  625. Private Sub lblIconsBack_MouseUp(Button As Integer, Shift As Integer, _
  626.                                  X As Single, Y As Single)
  627.     Dim getclr As New CColorPicker
  628.     getclr.Color = lblIconsBack.BackColor
  629.     getclr.Load Left + lblIconsBack.Left + X, Top + lblIconsBack.Top + Y
  630.     imlstIcons.BackColor = getclr.Color
  631.     lblIconsBack.BackColor = getclr.Color
  632.     imgIcons_Click iIcons
  633. End Sub
  634.  
  635. Private Sub lblBmpsBack_MouseUp(Button As Integer, Shift As Integer, _
  636.                                 X As Single, Y As Single)
  637.     Dim getclr As New CColorPicker, clr As Long
  638.     clr = imlstIcons.BackColor
  639.     getclr.Color = clr
  640.     getclr.Load Left + lblBmpsBack.Left + X, Top + lblBmpsBack.Top + Y
  641.     clr = getclr.Color
  642.     lblBmpsBack.BackColor = clr
  643.     imlstBmps.BackColor = clr
  644.     imgBmps_Click iBmps
  645. End Sub
  646.  
  647. Private Sub Draw(afStyle As Long)
  648.     
  649.     Dim X As Long, Y As Long, dxy As Long
  650.     pb.Cls
  651.     X = lblIconDraw.Left
  652.     Y = lblIconDraw.Top
  653.     DrawImage imlstIcons, iIcons, pb.hDC, X, Y, afStyle
  654.     dxy = imlstIcons.ImageHeight * Screen.TwipsPerPixelY
  655.     X = lblBmpDraw.Left
  656.     Y = lblBmpDraw.Top
  657.     DrawImage imlstBmps, iBmps, pb.hDC, X, Y, afStyle
  658.  
  659. End Sub
  660.  
  661. Private Sub chkPicture_Click()
  662.     If chkPicture.Value = vbChecked Then
  663.         pb.Picture = imgBall.Picture
  664.     Else
  665.         pb.Picture = Nothing
  666.     End If
  667. End Sub
  668.  
  669. Private Sub chk_Click(Index As Integer)
  670.     Select Case Index
  671.     Case 0  ' Transparent
  672.         If chk(Index).Value = vbChecked Then
  673.             afDisplay = afDisplay Or ILD_MASK
  674.         Else
  675.             afDisplay = afDisplay And Not ILD_MASK
  676.         End If
  677.     Case 1 ' Mask
  678.         If chk(Index).Value = vbChecked Then
  679.             afDisplay = afDisplay Or ILD_TRANSPARENT
  680.         Else
  681.             afDisplay = afDisplay And Not ILD_TRANSPARENT
  682.         End If
  683.     Case 2 ' Selected
  684.         If chk(Index).Value = vbChecked Then
  685.             afDisplay = afDisplay Or ILD_SELECTED
  686.         Else
  687.             afDisplay = afDisplay And Not ILD_SELECTED
  688.         End If
  689.     Case 3 ' Focus
  690.         If chk(Index).Value = vbChecked Then
  691.             afDisplay = afDisplay Or ILD_FOCUS
  692.         Else
  693.             afDisplay = afDisplay And Not ILD_FOCUS
  694.         End If
  695.     End Select
  696.     Draw afDisplay
  697. End Sub
  698.  
  699. Sub DrawIcons()
  700.     imgIconIcon.Picture = imlstIcons.ListImages(iIcons).ExtractIcon
  701.     imgIconPic.Picture = imlstIcons.ListImages(iIcons).Picture
  702.     With imlstIcons
  703.         If chkOverlay.Value <> vbChecked Then
  704.             ' Overlay without bug fix
  705.             imgIconOverlay.Picture = .Overlay(iIconsLast, iIcons)
  706.         Else
  707.             ' Save old background and mask color
  708.             Dim clrBack As Long, clrMask As Long
  709.             clrBack = .BackColor: clrMask = .MaskColor
  710.             ' Set color that does not occur in image
  711.             .BackColor = vbMagenta: .MaskColor = vbMagenta
  712.             ' Insert overlay, extract as icon, remove, and restore color
  713.             .ListImages.Add 1, , .Overlay(iIconsLast, iIcons)
  714.             imgIconOverlay.Picture = .ListImages(1).ExtractIcon
  715.             .ListImages.Remove 1
  716.             .BackColor = clrBack: .MaskColor = clrMask
  717.         End If
  718.     End With
  719.     Draw afDisplay
  720. End Sub
  721.  
  722. Sub DrawBmps()
  723.     imgBmpIcon.Picture = imlstBmps.ListImages(iBmps).ExtractIcon
  724.     imgBmpPic.Picture = imlstBmps.ListImages(iBmps).Picture
  725.     imgBmpOverlay.Picture = imlstBmps.Overlay(iBmpsLast, iBmps)
  726.     Draw afDisplay
  727. End Sub
  728.  
  729. Private Sub pb_Click()
  730.  
  731. End Sub
  732.